#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
int g_val = 10;
int g_unval;
//int main()
//{
//	const char* a = "abcdefg";
//	printf("%p\n", *a);
//	return 0;
//}
//int main()
//{
//	char a[2][3] = { 1,2,3,4,5,6 };
//	printf("%p\n", a);
//	printf("%p\n", a+1);
//	printf("%p\n", &a);
//	printf("%p\n", &a+1);
//	printf("%p\n", &a[0]);
//	printf("%p\n", &a[0]+1);
//	printf("%p\n", &a[0][0]);
//	printf("%p\n", &a[0][0]+1);
//	return 0;
//}
//inline int fac(int num)
//{
//    if (num == 1)
//        return 1;
//    return num*fac(num - 1);
//}
//int main()
//{
//    int a = 10;
//    int b = 20;
//    int ret = fac(a);
//    cout << ret << endl;
//    return 0;
//}

//int main(int argc, char* argv[], char* env[])
//{
//    int a = 10;
//    int b = 20;
//    int ret = add(a,b);
//
//
//
// #include<stdio.h>
// 
//int main() {
//	int arr[10] = { 0 };
//	printf("%p\n", &arr);
//	printf("%p\n", &arr + 1);
//	printf("%p\n", &arr[0]);
//	printf("%p\n", &arr[0] + 1);
//	printf("%p\n", arr);
//	printf("%p\n", arr+1);
//	return 0;
//}
int main()
{
    const char* s = "hello world";
    const char str[] = "hello world";

    printf("code addr: %p\n", main);
    printf("string rdonly addr: %p\n", s);
    printf("%p\n", &str);
    printf("%p\n", str);
    printf("%p\n", 'h');
    printf("%p\n", s);
    printf("%p\n", *s);
    printf("init addr: %p\n", &g_val);
    printf("uninit addr: %p\n", &g_unval);
    char* heap = (char*)malloc(10);
    char* heap1 = (char*)malloc(10);
    char* heap2 = (char*)malloc(10);
    char* heap3 = (char*)malloc(10);
    char* heap4 = (char*)malloc(10);

    printf("heap addr: %p\n", heap1);
    printf("heap addr: %p\n", heap2);
    printf("heap addr: %p\n", heap3);
    printf("heap addr: %p\n", heap4);
    int a = 10;
    int b = 30;
    printf("stack addr: %p\n", &a);
    printf("stack addr: %p\n", &b);
    return 0;
}
//// F.h
//#include <iostream>
//using namespace std;
//inline void f(int i);
//// F.cpp
//#include "F.h"
//void f(int i)
//{
//	cout << i << endl;
//}
//// main.cpp
//#include "F.h"
//int main()
//{
//	f(10);
//	return 0;
//}